package com.moli.iov.alarm.model.dto.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.moli.iov.model.dto.req.BaseDto;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import lombok.Data;

/**
 * <p>
 * 请求DTO
 * </p>
 *
 * @author zql
 * @since 2019/9/3 15:16
 */
@Data
public class AlarmInfoReqDto extends BaseDto implements Serializable {

  private static final long serialVersionUID = 7500298910428217575L;

  /**
   * 唯一 报警编码
   */
  private String alarmId;

  /**
   * 报警编号集合
   */
  private List<String> alarmIds;

  /**
   * 车架号
   */
  private String vin;

  /**
   * 车架号集合
   */
  private List<String> vins;

  /**
   * 车牌号
   */
  private String license;

  /**
   * 企业id
   */
  private Long companyId;

  /**
   * 报警编码
   */
  private Integer alarmCode;

  /**
   * 报警编码集合
   */
  private List<Integer> alarmCodes;


  /**
   * 报警状态 1、报警中 2、报警结束 3、已忽略
   */
  private Integer status;
  /**
   * 页签类型  0,全部  1、待处理 2 处理中 3已解除
   */
  private Integer tabType;

  /**
   * 报警状态集合
   */
  private List<Integer> statues;

  /**
   * 类型： 1、报警  2、故障
   */
  private Integer alarmType;

  /**
   * 故障级别 1、一级报警  2、二级报警  3、三级报警
   */
  private Integer alarmLevel;

  /**
   * 开始时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
  private Date beginTime;

  /**
   * 结束时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
  private Date endTime;

  /**
   * 忽略原因
   */
  private String ignoreMemo;

  /**
   * 忽略操作用户id
   */
  private Long ignoreUserId;

  /**
   * 忽略操作用户名称
   */
  private String ignoreUserName;

  /**
   * 最后上报时间/最后通迅时间  开始时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
  private Date lastReportBeginTime;

  /**
   * 最后上报时间/最后通迅时间  结束时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
  private Date lastReportEndTime;

  /**
   * 里程异变审核 状态 0、未处理 1、有效变异 2、无效异变
   */
  private Integer meAuditStatus;

  /**
   * 不等于 里程异变审核 状态
   */
  private Integer NeMeAuditStatus;

  /**
   * 围栏id集合
   */
  private List<Long> fenceIds;
  /**
   * 是否已处理
   */
  private Boolean isHandle;
}
